3

使用正则表达式也可以写一个简单的markdown解析器
一般的markdown表达式是这样

# 这是一个markdown表达式
## 这是一个markdown表达式

一行一个markdown表达式,所以可以使用split('n')将markdown内容分割为一个数组,数组的都每一项都是一个markdown表达式
然后再对每一行表达式进行解析,假如匹配到了如下表达式

# 这是一个markdown表达式
## 这是一个markdown表达式

可以这样处理

arry = row.match(/^#\s/)

if (arry[0] == '#') {
    '<h1>' + rows.substring(2) + '</h1>';
}

将得到以下HTML语句

<h1>这是一个markdown表达式</h1>
<h2>这是一个markdown表达式</h2>

再把得到的HTML语句渲染到DOM中 就完成了一次markdown文本解析了
对于其他的markdown也是遵循这个规则来处理

先来看一个简单的DEMO
这是项目代码


谭光志
6.9k 声望13.1k 粉丝